package com.immunology.dao;

import java.util.Collection;
import java.util.List;

import com.immunology.exception.DaoException;

public interface GenericDao<T> {

	public T findById(Long id) throws DaoException;

	public List<T> getAll() throws DaoException;

	public void saveOrUpdate(Collection<T> entities) throws DaoException;

	public void saveOrUpdate(T... entities) throws DaoException;

	public void update(Collection<T> entities) throws DaoException;

	public void update(T... entities) throws DaoException;

	public void delete(Collection<T> entities) throws DaoException;
	
	public void delete(T... entities) throws DaoException;

	public void deleteAll() throws DaoException;
	
	public void save(Collection<T> entities) throws DaoException;
	
	public void save(T... entities) throws DaoException;

}
